Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Porto Challenger Mallorca Challenger Buenos Aires Challenger Montevideo Challenger Seville Challenger Braga Challenger Lisbon Challenger Lima 2 Challenger Santa Fe 2 Challenger Todi Challenger Manama Challenger Oeiras 2 Challenger Oeiras 3 Challenger Oeiras 1 Challenger Tenerife 2 Challenger M25 Quinta Do Lago Poznan Challenger Tenerife 3 Challenger Girona Challenger Murcia Challenger Millennium Estoril Open - Estoril Madrid Challenger Francavilla Challenger Zagreb Challenger Oeiras 4 Challenger Porto Challenger Brasov Challenger Milan Challenger Seville Challenger Sibiu Challenger Porto 2 Challenger Lisbon Challenger M25 Vila Real de Santo Antonio Braga Challenger Campinas Challenger Curitiba Challenger Valencia Challenger Guayaquil Challenger Lima 2 Challenger Montevideo Challenger M25 Quinta do Lago Tenerife 1 Challenger M25 Vale do Lobo M25 Vila Real de Santo Antonio Oeiras 3 Challenger Oeiras 4 Challenger Oeiras 1 Challenger Oeiras 2 Challenger M25 Figueira da Foz Estoril Challenger M25 Porto Girona Challenger M25 Reus Oeiras 5 Challenger M25 Mataro Pozoblanco Challenger Porto Challenger Spain F32 Spain F30 Croatia F5 Croatia F6 Brazil F22 Spain F34 Spain F11 Portugal F4 Portugal F5 Portugal F6 Brazil F31 Spain F33 Spain F7 Portugal F1 Portugal F2 Portugal F3 Spain F17 Spain F18 Sweden F5 Spain F35 USA F26 Mexico F10 Mexico F11 USA F1 USA F2 USA F3 Spain F34 Spain F35 Spain F36 Spain F37 Brazil F32 Mexico F1 Costa Rica F1 Colombia F2 Canada F1 Canada F2 Canada F3 Usa F7 Usa F8 Czech Rep. F2 Czech Rep. F3 Spain F18 Spain F22 Usa F14 Usa F15 Usa F18 Spain F29 Spain F31 Spain F32 Chile F4 Chile F5 Chile F6 Usa F5 Portugal F3 Switzerland F3 Spain F11 Spain F12 Italy F5 Spain F14 Great Britain F6 Great Britain F7 Spain F18 Spain F19 Spain F20 Usa F13 Spain F21 Spain F22 Usa F15 Spain F23 Spain F24 Spain F27 Spain F29 Chile F5 Brazil F33 Chile F6 Chile F8 Chile F9 Brazil F1 Spain F36 Colombia F1 Colombia F2 USA F7 Spain F11 Spain F12 Spain F15 Turkey F19 Spain F18 Spain F20 Spain F21 Spain F23 Spain F25 Brazil F26 Spain F30 Spain F31 Spain F33 Spain F34 Spain F36 Brazil F33 Morocco F9 Spain F39 Spain F41 India F9 India F10 Turkey F4 Turkey F5 Portugal F1 Portugal F2 Portugal F3 Switzerland F2 Turkey F14 Spain F8 Spain F9 Chile F3 Spain F12 Spain F13 Spain F14 Spain F17 Spain F18 Spain F19 Spain F28 Spain F29 Algeria F2 Algeria F3 Turkey F43 Turkey F44 Israel F2 Israel F3 Portugal F1 Portugal F2 Portugal F3 Portugal F4 Spain F7 Spain F8 Spain F9 Spain F16 Egypt F3 Egypt F4 Portugal F5 Portugal F6 Portugal F7 Portugal F8 Spain F17 Spain F18 Spain F19 Spain F20 Spain F25 Spain F27 Turkey F45 Spain F28 Spain F29 Spain F31 France F18 Portugal F10 Portugal F11 Spain F38 Spain F39 Spain F40 Spain F41 Spain F42 Qatar F4 Qatar F5 Turkey F1 Turkey F2 Turkey F3 Turkey F4 France F5 France F6 Philippines F1 Malaysia F1 China F4 China F5 Portugal F4 Portugal F5 Spain F11 Spain F12 Spain F16 Spain F21 Spain F22 Spain F24 France F17 Spain F31 Spain F32 Kuwait F1 Kuwait F2 Kuwait F3 Dominican Republic F2 Dominican Republic F3 Spain F6 Spain F7 Spain F8 Spain F10 Portugal F6 Portugal F7 Spain F16 Spain F17 Spain F18 Spain F19 Spain F20 Portugal F10 Spain F25 Spain F29 Tunisia F26 Spain F33 Spain F34 Tunisia F29 Tunisia F34 Tunisia F35 Egypt F3 Egypt F4 Portugal F1 Azerbaijan F6 Spain F7 Spain F8 Spain F10 Tunisia F21 Spain F16 Spain F18 Egypt F13 Italy F23 USA F34 Spain F36 Spain F37 Spain F39 Egypt F1 (Sharm El Sheikh) Egypt F2 (Sharm El Sheikh) Spain F5 (Murcia) Spain F6 (Cornella) Portugal F1 (Vale Do Lobo) Portugal F2 (Faro) Portugal F3 (Loule) Spain F9 (Madrid) Spain F10 (Madrid) Portugal F6 (Porto) Spain F11 (Majadahonda) Spain F12 (Lleida) Bulgaria F1 (Sozopol) Turkey F21 (Antalya) Spain F16 (Huelva) Spain F17 (Martos) Spain F18 (Palma del Rio) Spain F19 (Bakio) Portugal F10 (Torres Vedras) Portugal F11 (Povoa de Varzim) Portugal F20 (Oliveira De Azemeis) Egypt F33 (Sharm El Sheikh) Egypt F34 (Sharm El Sheikh) Qatar F4 (Doha) Qatar F5 (Doha) Tunisia F4 (Jerba) Tunisia F5 (Jerba) Portugal F2 (Faro) Portugal F3 (Loule) Portugal F4 (Quinta Do Lago) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Spain F17 (Bakio) USA F33 (Columbus) M25 Bakio M25+H Pozoblanco M25+H Oliveira De Azemeis M25 Tavira M25 Monastir M15 Cairo M25 Potchefstroom M15 Sintra M15 Sintra M25 Porto M25 Vale Do Lobo M15 Monastir M25 Villena M25 Vale do Lobo M25 Faro M25 Vale do Lobo M25 La Nucia M25 Vic M25 Bakio M25+H Ajaccio M25 Frankfurt am Main M25 Madrid M25 Loule M25 Quinta Do Lago Naples Challenger - Naples 2007 Knoxville Challenger - Knoxville Bancolombia Open - Bogota Abierto Internacional de Salinas 'Dario Expreso' - Salinas Roma Open Challenger - Rome III Challenger Isla de Gran Canaria Ciudad de Telde - Telde San Remo Tennis Cup - San Remo Nielsen USTA Pro Tennis Championship - Winnetka Challenger Banque Nationale - Granby Moncton Men's Challenger - Moncton Oldum Brown Vancouver Open - Vancouver Levene Gouldin & Thompson Tennis Challenger - Binghamton GHI Bronx Tennis Classic - Bronx Semgroup Challenger - Tulsa Sacramento Challenger - Sacramento Ford Tennis Championships - Louisville National Bank Men's Rimouski Challenger - Rimouski JSM Challenger of Champaign - Urbana Challenger Britania Zavaleta - Puebla Abierto Internacional Varonil Ciudad de Cancun - Cancun Sao Paulo Challenger Salinas Challenger Segovia Challenger Tunis Challenger Lexington Challenger Segovia Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Belo Horizonte Challenger Montevideo Challenger Buenos Aires Challenger Asuncion Challenger Santiago Challenger Sao Paulo Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Le Gosier Challenger Recife Challenger Prague Challenger Bordeaux Challenger Segovia Challenger Campos do Jordao Challenger Campinas Challenger Madrid Challenger Recife Challenger Belo Horizonte Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Montevideo Challenger Sao Paulo Challenger Bucaramanga Challenger Florianopolis Challenger Le Gosier Challenger Dallas Challenger Blumenau Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Caltanissetta Challenger Kosice Challenger Marburg Challenger Arad Challenger Timisoara Challenger Tampere Challenger St. Remy Challenger Campinas Challenger Madrid Challenger Belem Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Sao Leopoldo Challenger ATP Challenger Tour Finals Sao Paulo Challenger Bucaramanga Challenger Itajai Challenger Santos Challenger Sao Paulo Challenger Tunis Challenger Bordeaux Challenger Braunschweig Challenger Beijing Challenger Guimaraes Challenger Segovia Challenger Seville Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Rennes Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Montevideo Challenger Bogota Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Panama City Challenger Barranquilla Challenger Itajai Challenger Sao Paulo Challenger Shenzhen Challenger Santos Challenger Anning Challenger Aix En Provence Challenger Furth Challenger Blois Challenger Mohammedia Challenger Marburg Challenger Braunschweig Challenger Portoroz Challenger Recanati Challenger Astana Challenger Tampere Challenger Segovia Challenger Genova Challenger Seville Challenger Izmir Challenger Campinas Challenger Orleans Challenger Porto Alegre Challenger Charlottesville Challenger Knoxville Challenger Champaign Challenger Bucaramanga Challenger Dallas Challenger Santo Domingo Challenger Irving Challenger Le Gosier Challenger Sarasota Challenger Savannah Challenger Aix En Provence Challenger Bordeaux Challenger Mestre Challenger Caltanissetta Challenger Blois Challenger Braunschweig Challenger Segovia Challenger Aptos Challenger Vancouver Challenger Como Challenger Seville Challenger Meknes Challenger Campinas Challenger Orleans Challenger Porto Alegre Challenger Sao Paulo Challenger Corrientes Challenger Santiago Challenger Lima Challenger Guayaquil Challenger Buenos Aires Challenger Montevideo Challenger Andria Challenger Bangkok Challenger Rio De Janeiro Challenger Bucaramanga Challenger Jonkoping Challenger Drummondville Challenger Kazan Challenger Napoli Challenger Barletta Challenger Turin Challenger Bordeaux Challenger Mestre Challenger Vicenza Challenger Prostejov Challenger Fergana Challenger Milan Challenger Braunschweig Challenger Recanati Challenger Segovia Challenger Meerbusch Challenger Seville Challenger Orleans Challenger Monterrey Challenger Las Vegas Challenger Lima Challenger Guayaquil Challenger Barletta Challenger Francavilla Challenger Rome Challenger Bordeaux Challenger Lisbon Challenger Todi Challenger Milan Challenger Braunschweig Challenger Astana Challenger Scheveningen Challenger Segovia Challenger Floridablanca Challenger Portoroz Challenger Santo Domingo Challenger Como Challenger Seville Challenger Istanbul Challenger Rome Challenger Monterrey Challenger Campinas Challenger Fairfield Challenger Buenos Aires Challenger Las Vegas Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Santiago Challenger Rennes Challenger Morelos Challenger Santiago Challenger Le Gosier Challenger Taipei City Challenger Barletta Challenger Nanchang Challenger Tunis Challenger Anning Challenger Glasgow Challenger Karshi Challenger Braga Challenger Samarkand Challenger Loughborough Challenger Shymkent Challenger Almaty Challenger Fergana Challenger Astana Challenger Tampere Challenger Segovia Challenger Como Challenger Mallorca Challenger Genova Challenger Seville Challenger Cary Challenger Columbus Challenger Biella Challenger Tiburon Challenger Stockton Challenger Campinas Challenger Santo Domingo Challenger Fairfield Challenger Calgary Challenger Las Vegas Challenger Lima Challenger Guayaquil Challenger Montevideo Challenger Houston Challenger Buenos Aires Challenger Orlando Challenger Columbus Challenger Koblenz Challenger Newport Beach Challenger Quimper Challenger Chennai Challenger Cherbourg Challenger Bangkok Challenger Morelos Challenger Bangkok Challenger Yokohama Challenger St. Brieuc Challenger Monterrey Challenger Barletta Challenger Murcia Challenger Sarasota Challenger San Luis Potosi Challenger Leon Challenger Francavilla Challenger Puerto Vallarta Challenger Braga Challenger Lisbon Challenger Samarkand Challenger Jerusalem Challenger Poznan Challenger Lyon Challenger Blois Challenger Winnipeg Challenger Nur-Sultan Challenger Gatineau Challenger Binghamton Challenger Tampere Challenger Sopot Challenger Segovia Challenger Meerbusch Challenger Baotou Challenger Jinan Challenger Shanghai Challenger Glasgow Challenger Buenos Aires Challenger Campinas Challenger Santo Domingo Challenger Ismaning Challenger Pune Challenger Maia Challenger Ann Arbor Challenger Rennes Challenger Quimper Challenger Cleveland Challenger Morelos Challenger Columbus Challenger Potchefstroom Challenger Sibiu Challenger Alicante Challenger Lisbon Challenger Marbella Challenger Guayaquil Challenger Sao Paulo Challenger Campinas Challenger Maia Challenger Gran Canaria 1 Challenger Gran Canaria 2 Challenger St. Petersburg 2 Challenger Oeiras 1 Challenger Oeiras 2 Challenger Salinas Challenger Salinas 2 Challenger Oeiras 3 Challenger Oeiras 4 Challenger Biella 7 Challenger Almaty 1 Challenger Forli Challenger Milan Challenger Porto Challenger Iasi Challenger Amersfoort Challenger Pozoblanco Challenger Tampere Challenger Poznan Challenger Segovia Challenger San Marino Challenger Verona Challenger Prague 3 Challenger Mallorca Challenger Seville Challenger Braga Challenger Murcia Challenger Puerto Vallarta Challenger Maia 1 Challenger Maia 2 Challenger Bendigo Challenger Cherbourg Challenger Forli 4 Challenger Forli 5 Challenger Roseto Degli Abruzzi 2 Challenger Zadar Challenger Oeiras 1 Challenger Oeiras 2 Challenger Madrid Challenger Aix En Provence Challenger Bordeaux Challenger Forli 6 Challenger Perugia Challenger Montechiarugolo - Parma Challenger Braunschweig Challenger Lima Challenger Braga Challenger Lisbon Challenger Campinas Challenger Rio De Janeiro Challenger Las Vegas Challenger Montevideo Challenger Sao Leopoldo Challenger Canberra Challenger Monterrey Challenger Waco Challenger Puerto Vallarta Challenger Las Franquesas del Valles Challenger Girona Challenger Prague 2 Challenger Lyon Challenger Estoril Open - Estoril Estoril Open - Estoril Gerry Weber Open - Halle Delray Beach International Tennis Championships - Delray Beach Estoril Open - Estoril Pilot Pen Tennis - New Haven Estoril Open - Estoril Estoril Open - Estoril Campbells Hall of Fame Tennis Championships - Newport Estoril Open - Estoril Open de Nice Cote d'Azur - Nice VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Estoril Open - Estoril VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Delray Beach International Tennis Championships - Delray Beach Portugal Open - Oeiras U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Portugal Open - Oeiras Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Erste Bank Open - Vienna Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Abierto Mexicano Telcel - Acapulco BB&T Atlanta Open - Atlanta Millennium Estoril Open - Estoril Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Geneva Open - Geneva Bet-at-home Open - Hamburg SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz St. Petersburg Open - St. Petersburg US Men's Clay Court Championship - Houston Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Apia International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Open Parc - Lyon Bet-at-home Open - Hamburg Generali Open - Kitzbuhel Moselle Open - Metz Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Antalya Cup - Antalya Abierto Mexicano - Los Cabos Abierto Mexicano Telcel - Acapulco Millennium Estoril Open - Estoril Turkish Airlines Open Antalya - Antalya Antalya Open - Antalya Mallorca Championships - Mallorca Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril Sony Ericsson Open - Miami Sony Ericsson Open - Miami Mutua Madrilena Madrid Open - Madrid BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Open Tennis - Miami BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Miami Open - Miami U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) All Lower level tournaments Olympics - Rio de Janeiro